partnerji na modal
This commit is contained in:
@@ -11,12 +11,24 @@ using EveryThing.Data;
|
||||
using EveryThing.Models;
|
||||
using EveryThing.Models.CodeTable;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using System.Globalization;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
|
||||
namespace EveryThing.Pages.CodeTablePartners
|
||||
{
|
||||
[Authorize(Roles = "Administrator,InvoicingUser,ProjecThingUser,TransportThingUser")]
|
||||
public class IndexModel : PageModel
|
||||
{
|
||||
|
||||
public class AddEditCodeTablePartner
|
||||
{
|
||||
public CodeTablePartner Partner { get; set; }
|
||||
public bool Edit { get; set; }
|
||||
public int IdCodeTablePartner { get; set; }
|
||||
public SelectList Countries { get; set; }
|
||||
//public IList<File> Files { get; set; }
|
||||
}
|
||||
|
||||
private readonly EveryThing.Data.ApplicationDbContext _context;
|
||||
private readonly UserManager<IdentityApplicationUser> _userManager;
|
||||
|
||||
@@ -49,5 +61,165 @@ namespace EveryThing.Pages.CodeTablePartners
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
|
||||
public IActionResult OnGetCodeTablePartnerModal(bool edit, int idCodeTablePartner)
|
||||
{
|
||||
//TODO input izbrane
|
||||
var user = _userManager.GetUserAsync(User).Result;
|
||||
|
||||
var countries = new SelectList(_context.CodeTableCountries, "IdCountry", "TranslationSlovenian");
|
||||
CodeTablePartner partner = null;
|
||||
|
||||
if (edit)
|
||||
{
|
||||
partner = _context.CodeTablePartners
|
||||
.Where(x => x.IdCompanyFk == user.IdCompanyFk)
|
||||
.FirstOrDefault(x => x.IdPartner == idCodeTablePartner);
|
||||
|
||||
//files = _context.Files
|
||||
// .Where(x => x.IdCompanyFk == user.IdCompanyFk
|
||||
// && x.IdReferenceFk == item.IdItem
|
||||
// && x.FileType == FileType.CodeTableItem)
|
||||
// .ToList();
|
||||
}
|
||||
|
||||
if (partner == null)
|
||||
{
|
||||
var sloCountry = _context.CodeTableCountries.FirstOrDefault(x => x.Code == "SI");
|
||||
partner = new CodeTablePartner();
|
||||
if (sloCountry != null)
|
||||
partner.IdCountryFk = sloCountry.IdCountry;
|
||||
partner.Active = true;
|
||||
//TODO kljukice
|
||||
//partner.CodeTableItemType = (CodeTableItemType)codeTableItemType;
|
||||
}
|
||||
|
||||
return Partial("AddEditPartnerModal", new AddEditCodeTablePartner
|
||||
{
|
||||
Partner = partner,
|
||||
Edit = edit,
|
||||
IdCodeTablePartner = idCodeTablePartner,
|
||||
Countries = countries
|
||||
//Files = files,
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnPostCodeTablePartner(bool edit, CodeTablePartner partnerData)
|
||||
{
|
||||
var user = _userManager.GetUserAsync(User).Result;
|
||||
var successful = true;
|
||||
var error = "";
|
||||
|
||||
if (edit)
|
||||
{
|
||||
var partner = _context.CodeTablePartners
|
||||
.Where(x => x.IdCompanyFk == user.IdCompanyFk)
|
||||
.FirstOrDefault(x => x.IdPartner == partnerData.IdPartner);
|
||||
if (partner != null)
|
||||
{
|
||||
partner.Title = partnerData.Title;
|
||||
partner.IdCountryFk = partnerData.IdCountryFk;
|
||||
partner.City = partnerData.City;
|
||||
partner.PostNumber = partnerData.PostNumber;
|
||||
partner.Post = partnerData.Post;
|
||||
partner.Street = partnerData.Street;
|
||||
partner.TaxNumber = partnerData.TaxNumber;
|
||||
partner.RegistrationNumber = partnerData.RegistrationNumber;
|
||||
partner.Buyer = partnerData.Buyer;
|
||||
partner.Supplier = partnerData.Supplier;
|
||||
partner.Active = partnerData.Active;
|
||||
partner.Email = partnerData.Email;
|
||||
_context.SaveChanges();
|
||||
}
|
||||
else
|
||||
{
|
||||
successful = false;
|
||||
error = $"Codetable partner with ID: {partnerData.IdPartner} not found";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var partner = new CodeTablePartner
|
||||
{
|
||||
Title = partnerData.Title,
|
||||
IdCountryFk = partnerData.IdCountryFk,
|
||||
City = partnerData.City,
|
||||
PostNumber = partnerData.PostNumber,
|
||||
Post = partnerData.Post,
|
||||
Street = partnerData.Street,
|
||||
Buyer = partnerData.Buyer,
|
||||
Supplier = partnerData.Supplier,
|
||||
Active = partnerData.Active,
|
||||
TaxNumber = partnerData.TaxNumber,
|
||||
RegistrationNumber = partnerData.RegistrationNumber,
|
||||
Email = partnerData.Email
|
||||
};
|
||||
_context.CodeTablePartners.Add(partner);
|
||||
_context.SaveChanges();
|
||||
|
||||
partnerData.IdPartner = partner.IdPartner;
|
||||
}
|
||||
|
||||
return new JsonResult(new { idCodeTablePartner = partnerData.IdPartner, error = error, successful = successful });
|
||||
}
|
||||
|
||||
public IActionResult OnDeleteCodeTableItem(int idCodeTablePartner)
|
||||
{
|
||||
var user = _userManager.GetUserAsync(User).Result;
|
||||
var successful = true;
|
||||
var error = "";
|
||||
|
||||
var partner = _context.CodeTablePartners
|
||||
.Where(x => x.IdCompanyFk == user.IdCompanyFk)
|
||||
.FirstOrDefault(x => x.IdPartner == idCodeTablePartner);
|
||||
if (partner != null)
|
||||
{
|
||||
_context.CodeTablePartners.Remove(partner);
|
||||
_context.SaveChanges();
|
||||
}
|
||||
else
|
||||
{
|
||||
successful = false;
|
||||
error = $"Codetable partner with ID: {idCodeTablePartner} not found";
|
||||
}
|
||||
|
||||
return new JsonResult(new { idCodeTableItem = idCodeTablePartner, error = error, successful = successful });
|
||||
}
|
||||
|
||||
public IActionResult OnGetCodeTablePartner(int idCodeTablePartner)
|
||||
{
|
||||
var user = _userManager.GetUserAsync(User).Result;
|
||||
|
||||
var successful = true;
|
||||
var error = "";
|
||||
var partnerInUse = false;
|
||||
|
||||
var partner = _context.CodeTablePartners
|
||||
.Where(x => x.IdCompanyFk == user.IdCompanyFk)
|
||||
.Include(x => x.PartnerTransportLoadingOrder)
|
||||
.Include(x => x.PartnerTransportLoadingOrderLoad)
|
||||
.Include(x => x.PartnerTransportLoadingOrderUnload)
|
||||
.Include(x => x.Invoice)
|
||||
.FirstOrDefault(x => x.IdPartner == idCodeTablePartner);
|
||||
|
||||
if (partner == null)
|
||||
{
|
||||
successful = false;
|
||||
error = $"Codetable partner with ID: {idCodeTablePartner} not found";
|
||||
}
|
||||
else
|
||||
{
|
||||
partnerInUse = partner.PartnerTransportLoadingOrder.Count > 0
|
||||
|| partner.PartnerTransportLoadingOrderLoad.Count > 0
|
||||
|| partner.PartnerTransportLoadingOrderUnload.Count > 0
|
||||
|| partner.Invoice.Count > 0;
|
||||
partner.PartnerTransportLoadingOrder = null;
|
||||
partner.PartnerTransportLoadingOrderLoad = null;
|
||||
partner.PartnerTransportLoadingOrderUnload = null;
|
||||
partner.Invoice = null;
|
||||
}
|
||||
|
||||
return new JsonResult(new { partner, error, successful, partnerInUse });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user