public async Task <bool> DeleteFile([FromBody] int fileId) { using (var context = new DB_A12601_bielkaContext()) { DocumentFiles fileEntity = context.DocumentFiles.FirstOrDefault(d => d.DcfId == fileId); if (fileEntity == null) { return(true); } string filePath = _env.WebRootPath + fileEntity.DcfUrl; if (System.IO.File.Exists(filePath)) { System.IO.File.Delete(filePath); } context.DocumentFiles.Remove(fileEntity); await context.SaveChangesAsync(); return(true); } }
public IEnumerable <EmployeeDto> GetAllEmployees() { var user = _userManager.FindByIdAsync(User.GetUserId()); var roles = _userManager.GetRolesAsync(user.Result); var ffdsfd = roles.Result; using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { var employees = context.Employees.Where(e => e.EmpAuditRd == null) .GroupJoin(context.IdentityDocuments.Where(d => d.IdcAuditRd == null), e => e.EmpId, d => d.IdcEmpId, (e, d) => new { employee = e, documents = d }) .ToList() .Select(e => new EmployeeDto(e.employee, e.documents, new List <DocumentFiles>()) { CreateDate = e.employee.EmpAuditCd ?? DateTime.Now }) .ToList(); var employeesIds = employees.Select(e => e.Id).ToArray(); var emploeesPositions = context.EmploymentRequests.Where( r => r.EtrAuditRd == null && r.EtrStatus == 1 && employeesIds.Contains(r.EtrEmpId)) .LeftJoin(context.Offers, r => r.EtrOfrId, o => o.OfrId, (r, o) => new { r.EtrEmpId, o.OfrPosition }) .ToLookup(e => e.EtrEmpId, e => e.OfrPosition); foreach (var employee in employees) { employee.Position = emploeesPositions.FirstOrDefault(p => p.Key == employee.Id)?.FirstOrDefault(); } return(employees); } }
public bool DeleteEmploymentRequest([FromBody] EmploymentRequestDto employmentRequestDto) { try { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { EmploymentRequests employmentRequest = context.EmploymentRequests.FirstOrDefault(e => e.EtrOfrId == employmentRequestDto.OfferId && e.EtrEmpId == employmentRequestDto.EmployeeId && e.EtrAuditRd == null); if (employmentRequest == null) { return(false); } employmentRequest.EtrAuditRd = DateTime.UtcNow; employmentRequest.EtrAuditRu = User.GetUserId(); context.SaveChanges(); } return(true); } catch (Exception) { //todo: add logging return(false); } }
public EventDetailsDto SaveEvent([FromBody] EventDto eventdto) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { Notes eventEntity = context.Notes.FirstOrDefault(n => n.NotId == eventdto.Id); if (eventEntity == null) { eventEntity = new Notes() { NotAuditCd = DateTime.Now, NotAuditCu = User.GetUserId(), NotId = eventdto.Id }; context.Notes.Add(eventEntity); } eventEntity.NotAuditMd = DateTime.Now; eventEntity.NotAuditMu = User.GetUserId(); eventEntity.NotCltId = eventdto.ClientId; eventEntity.NotCtgId = eventdto.ContragentId; eventEntity.NotEmp = eventdto.EmployeeId; eventEntity.NotEndDate = eventdto.EndDate; eventEntity.NotRemindDate = eventdto.RemindDate; eventEntity.NotStartDate = eventdto.StartDate; eventEntity.NotSubject = eventdto.Subject; eventEntity.NotTargetUser = eventdto.TargetUser; eventEntity.NotText = eventdto.NoteText; context.SaveChanges(); } return(GetEvent(eventdto)); }
private void TimerCallBack(object state) { try { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { var eventsToRemind = context.Notes.Where(n => n.NotAuditRd == null && n.NotReminded != true && n.NotRemindDate != null && n.NotRemindDate < DateTime.Now).ToList(); var userEmails = context.AspNetUsers.Where(u => !u.Deleted).ToDictionary(u => u.Id, u => u.Email); foreach (Notes @event in eventsToRemind) { var emails = userEmails.Where(u => u.Key == @event.NotTargetUser || u.Key == @event.NotAuditCu) .Select(u => u.Value) .ToList(); SendNotification(@event, emails); @event.NotReminded = true; } context.SaveChangesAsync(); } } catch (Exception ex) { Console.WriteLine(ex); } }
public List <UserDto> GetResponsibleUsersList() { using (var context = new DB_A12601_bielkaContext()) { var users = context.AspNetUserRoles.Where(r => r.Role.Name != SUPER_ADMIN_ROLE_NAME && r.Role.Name != ACCOUNTING_ROLE_NAME && r.Role.Name != CONTAGENT_ROLE_NAME). Join(context.AspNetUsers.Where(u => !u.Deleted), r => r.UserId, u => u.Id, (role, user) => new { RoleName = role.Role.Name, User = user, }).ToList(). Select(us => new UserDto { Id = us.User.Id, UserName = us.User.UserName, Email = us.User.Email, CtgId = us.User.ContragentId, Name = us.User.FullName, UserRole = us.RoleName }).ToList(); return(users); } }
public List <EventDto> GetEvents() { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { var eventsEntities = context.Notes.Where(n => n.NotAuditRd == null).ToList(); return(eventsEntities.Select(e => new EventDto(e)).ToList()); } }
public DocumentFilesDto UploadFiles(IFormFile file, string name, string description, int ownerId, string ownerType) { try { if (file == null) { return(new DocumentFilesDto { Success = false, ErrorMessage = "File is not selected" }); } string fileName = SaveFile(file); using (var context = new DB_A12601_bielkaContext()) { DocumentFiles fileEntity = new DocumentFiles { DcfUrl = fileName, DcfAuditCd = DateTime.UtcNow, DcfAuditCu = User.GetUserId(), DcfAuditMd = DateTime.UtcNow, DcfAuditMu = User.GetUserId(), DcfName = name ?? string.Empty, DcfDescription = description ?? string.Empty, }; switch (ownerType) { case "contragent": fileEntity.DcfCntId = ownerId; break; case "client": fileEntity.DcfCliId = ownerId; break; case "offer": fileEntity.DcfOfrId = ownerId; break; } context.Add(fileEntity); context.SaveChanges(); return(new DocumentFilesDto(fileEntity)); } } catch (Exception ex) { return(new DocumentFilesDto { Success = false, ErrorMessage = ex.Message }); } }
public IEnumerable <EmployeeDto> GetAllEmployeesLite() { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { var employees = context.Employees.Where(e => e.EmpAuditRd == null) .ToList() .Select(e => new EmployeeDto(e)) .ToList(); return(employees); } }
public IEnumerable <OfferDto> GetClientOffers(int clientId) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { List <OfferDto> offers = context.Offers.Where(o => o.OfrCltId == clientId && o.OfrAuditRd == null) .Select(o => new OfferDto(o)) .ToList(); return(offers); } }
public IEnumerable <ClientDto> GetClientsListLite() { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { List <ClientDto> clients = context.Clients .Where(c => c.CltAuditRd == null) .ToList() .Select(c => new ClientDto(c)) .ToList(); return(clients); } }
public bool ChangeUserLanguage([FromBody] UsersToContragentsDto utc) { using (var context = new DB_A12601_bielkaContext()) { var data = context.AspNetUsers.FirstOrDefault(u => u.Id == utc.UsrId); data.LanguageCode = utc.PrefLng; context.SaveChanges(); } return(true); }
public IEnumerable <OfferDto> GetOffersList() { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { List <OfferDto> offers = context.Offers.Where(o => o.OfrAuditRd == null).ToList() .Select(o => new OfferDto(o)) .ToList(); foreach (var offer in offers) { offer.AcceptedCount = context.EmploymentRequests.Count(er => er.EtrOfrId == offer.Id && er.EtrAuditRd == null && er.EtrStatus == 1); } return(offers); } }
public List <EventDto> GetMyEvents() { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { string userId = User.GetUserId(); DateTime from = DateTime.Today; DateTime to = DateTime.Today.AddDays(1); var latestEvents = context.Notes.Where(n => n.NotAuditRd == null && (n.NotAuditCu == userId || n.NotTargetUser == userId) && (n.NotRemindDate >= from && n.NotRemindDate <= to || n.NotStartDate >= from && n.NotStartDate <= to)).ToList(); return(latestEvents.Select(e => new EventDto(e)).ToList()); } }
public List <IdentityDocumentsDto> GetIdentityDocuments([FromBody] int employeeId) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { List <IdentityDocumentsDto> documents = context.IdentityDocuments .Where(i => i.IdcAuditRd == null && i.IdcEmpId == employeeId) .GroupJoin(context.DocumentFiles, d => d.IdcId, f => f.DcfIdcId, (d, f) => new { doc = d, files = f }) .ToList() .Select(d => new IdentityDocumentsDto(d.doc, d.files)) .ToList(); return(documents); } }
private Contragent CreateContragent(string name) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { Contragent contragent = new Contragent { CgtAuditCu = User.GetUserId(), CgtName = name, CgtStatus = "a", CgtLicenseNumber = string.Empty }; IRepository <Contragent> contragentsRepository = new ContragentsRepository(); contragentsRepository.Save(contragent); return(contragent); } }
public bool DeleteEvent([FromBody] EventDto eventdto) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { Notes eventEntity = context.Notes.FirstOrDefault(n => n.NotId == eventdto.Id); if (eventEntity == null) { return(false); } eventEntity.NotAuditRd = DateTime.Now; eventEntity.NotAuditRu = User.GetUserId(); context.SaveChanges(); return(true); } }
public ContactPersonDto SaveContactPerson([FromBody] ContactPersonDto contactPerson) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { ContactPersons ctp; if (contactPerson.Id != 0) { ctp = context.ContactPersons.FirstOrDefault(c => c.CtpId == contactPerson.Id); } else { ctp = new ContactPersons { CtpAuditCd = DateTime.UtcNow, CtpAuditCu = User.GetUserId() }; context.ContactPersons.Add(ctp); } if (ctp == null) { return(null); } ctp.CtpCgtId = contactPerson.ContragentId; ctp.CtpCltId = contactPerson.ClientId; ctp.CtpEmail = contactPerson.Email; ctp.CtpMessanger = contactPerson.Messanger; ctp.CtpName = contactPerson.Name; ctp.CtpPhoneNumber = contactPerson.PhoneNumber; ctp.CtpPosition = contactPerson.Position; ctp.CtpSurname = contactPerson.Surname; ctp.CtpSkype = contactPerson.Skype; ctp.CtpAuditMd = DateTime.UtcNow; ctp.CtpAuditMu = User.GetUserId(); ctp.CtpMessangerType = contactPerson.MessangerType; context.SaveChanges(); contactPerson.Id = ctp.CtpId; return(contactPerson); } }
public bool DeleteIdDocumentFile([FromBody] int fileId) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { DocumentFiles docFile = context.DocumentFiles.FirstOrDefault(c => c.DcfId == fileId); if (docFile == null) { return(false); } docFile.DcfAuditRd = DateTime.UtcNow; docFile.DcfAuditRu = User.GetUserId(); context.SaveChanges(); return(true); } }
public bool DeleteIdentityDocument([FromBody] int documentId) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { IdentityDocuments doc = context.IdentityDocuments.FirstOrDefault(c => c.IdcId == documentId); if (doc == null) { return(false); } doc.IdcAuditRd = DateTime.UtcNow; doc.IdcAuditRu = User.GetUserId(); context.SaveChanges(); return(true); } }
public bool DeleteEmployee([FromBody] int employeeId) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { Employees emp = context.Employees.FirstOrDefault(c => c.EmpId == employeeId); if (emp == null) { return(false); } emp.EmpAuditRd = DateTime.UtcNow; emp.EmpAuditRu = User.GetUserId(); context.SaveChanges(); return(true); } }
public bool DeleteAddress([FromBody] int addressId) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { Addresses adr = context.Addresses.FirstOrDefault(c => c.AdrId == addressId); if (adr == null) { return(false); } adr.AdrAuditRd = DateTime.UtcNow; adr.AdrAduitRu = User.GetUserId(); context.SaveChanges(); return(true); } }
public IEnumerable <EmployeeDto> GetEmployeesByCtg([FromBody] string ctgId) { var user = _userManager.FindByIdAsync(User.GetUserId()); var roles = _userManager.GetRolesAsync(user.Result); var ffdsfd = roles.Result; using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { var employees = context.Employees.Where(e => e.EmpAuditRd == null && e.EmpCtgId == Int32.Parse(ctgId)) .GroupJoin(context.IdentityDocuments.Where(d => d.IdcAuditRd == null), e => e.EmpId, d => d.IdcEmpId, (e, d) => new { employee = e, documents = d }) .ToList() .Select(e => new EmployeeDto(e.employee, e.documents, new List <DocumentFiles>())) .ToList(); return(employees); } }
public bool DeleteContactPerson([FromBody] int contactPersonId) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { ContactPersons ctp = context.ContactPersons.FirstOrDefault(c => c.CtpId == contactPersonId); if (ctp == null) { return(false); } ctp.CtpAuditRd = DateTime.UtcNow; ctp.CtpAuditRu = User.GetUserId(); context.SaveChanges(); return(true); } }
public ClientDto GetClient(int clientId) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { var clientEntity = context.Clients.FirstOrDefault(c => c.CltAuditRd == null && c.CltId == clientId); var addresses = context.Addresses.Where(a => a.AdrAuditRd == null && clientId == a.ArdCltId).ToList(); var contactPersons = context.ContactPersons.Where(a => a.CtpAuditRd == null && clientId == a.CtpCltId).ToList(); var offers = context.Offers.Where(o => o.OfrAuditRd == null && clientId == o.OfrCltId).ToList(); var acceptedEmployees = context.Employees.Where(e => e.EmpAuditRd == null && e.EmpCltId != null && clientId == e.EmpCltId).ToList(); var files = context.DocumentFiles.Where(f => f.DcfAuditRd == null && clientId == f.DcfCliId).ToList(); var notes = context.Notes.Where(n => n.NotAuditRd == null && n.NotCltId == clientId).LeftJoin(context.AspNetUsers, n => n.NotAuditCu, u => u.Id, (n, u) => new { Note = n, UserData = u }).ToList(); ClientDto client = new ClientDto(clientEntity, addresses, contactPersons, offers, acceptedEmployees, files) { FreeVacancies = 0, AwaitingVacancies = 0, BusyVacancies = 0, Notes = notes.Select(n => new EventDetailsDto(n.Note) { TargetUserName = n.UserData.FullName, TargetUser = n.UserData.Id }).ToList() }; foreach (var offer in client.Offers) { offer.AcceptedCount = context.EmploymentRequests.Count(er => er.EtrOfrId == offer.Id && er.EtrAuditRd == null && er.EtrStatus == 1); offer.AwaitingCount = context.EmploymentRequests.Count(er => er.EtrOfrId == offer.Id && er.EtrAuditRd == null && er.EtrStatus == 0); client.FreeVacancies += offer.VacanciesNumber - offer.AcceptedCount; client.AwaitingVacancies += offer.AwaitingCount; client.BusyVacancies += offer.AcceptedCount; } return(client); } }
public bool DeleteOffer([FromBody] int offerId) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { Offer ofr = context.Offers.FirstOrDefault(c => c.OfrId == offerId); if (ofr == null) { return(false); } ofr.OfrAuditRd = DateTime.UtcNow; ofr.OfrAuditRu = User.GetUserId(); context.SaveChanges(); return(true); } }
public bool DeleteClient([FromBody] int clientId) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { Clients clt = context.Clients.FirstOrDefault(c => c.CltId == clientId); if (clt == null) { return(false); } clt.CltAuditRd = DateTime.UtcNow; clt.CltAuditRu = User.GetUserId(); context.SaveChanges(); return(true); } }
public IEnumerable <ClientDto> GetClientsList() { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { List <ClientDto> clients = context.Clients .Where(c => c.CltAuditRd == null) .GroupJoin(context.Addresses.Where(a => a.AdrAuditRd == null), c => c.CltId, a => a.ArdCltId, (c, a) => new { Client = c, Addresses = a }) .GroupJoin(context.Offers.Where(o => o.OfrAuditRd == null), c => c.Client.CltId, o => o.OfrCltId, (c, o) => new { c.Client, c.Addresses, Offers = o }) .GroupJoin(context.Employees.Where(e => e.EmpAuditRd == null && e.EmpCltId != null), c => c.Client.CltId, e => e.EmpCltId, (c, e) => new { c.Client, c.Addresses, c.Offers, AcceptedEmployees = e }) .ToList() .Select( c => new ClientDto(c.Client, c.Addresses, null, c.Offers, c.AcceptedEmployees, null)) .ToList(); var offerIds = clients.SelectMany(c => c.Offers.Select(o => o.Id).ToArray()).Distinct().ToList(); var requests = context.EmploymentRequests.Where(e => offerIds.Contains(e.EtrOfrId)).ToList(); foreach (var client in clients) { client.FreeVacancies = 0; client.AwaitingVacancies = 0; client.BusyVacancies = 0; foreach (var offer in client.Offers) { offer.AcceptedCount = requests.Count(er => er.EtrOfrId == offer.Id && er.EtrAuditRd == null && er.EtrStatus == 1); offer.AwaitingCount = requests.Count(er => er.EtrOfrId == offer.Id && er.EtrAuditRd == null && er.EtrStatus == 0); client.FreeVacancies += offer.VacanciesNumber - offer.AcceptedCount; client.AwaitingVacancies += offer.AwaitingCount; client.BusyVacancies += offer.AcceptedCount; } } return(clients); } }
public EmployeeDto SaveEmployee([FromBody] EmployeeDto employee) { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { Employees emp; if (employee.Id != 0) { emp = context.Employees.FirstOrDefault(c => c.EmpId == employee.Id); } else { emp = new Employees { EmpAuditCd = DateTime.UtcNow, EmpAuditCu = User.GetUserId() }; context.Employees.Add(emp); } if (emp == null) { return(null); } emp.EmpBirthDate = employee.BirthDate.Date.AddDays(1); emp.EmpCtgId = employee.ContragentId; emp.EmpDescription = employee.Description; emp.EmpFirstName = employee.FirstName; emp.EmpLastName = employee.LastName ?? string.Empty; emp.EmpMiddleName = employee.MiddleName; emp.EmpResponsibleUser = employee.ResponsibleUser; emp.EmpAuditMu = User.GetUserId(); emp.EmpAuditMd = DateTime.UtcNow; emp.EmpStatus = employee.Status; context.SaveChanges(); employee.Id = emp.EmpId; return(employee); } }
public async Task <DataTransferObjectBase> DeleteUser([FromBody] UserDto user) { using (var context = new DB_A12601_bielkaContext()) { var userEntity = context.AspNetUsers.FirstOrDefault(u => u.Id == user.Id); if (userEntity == null) { return(new DataTransferObjectBase { Success = false, ErrorMessage = "User is not found" }); } userEntity.Deleted = true; await context.SaveChangesAsync(); return(new DataTransferObjectBase()); } }