Exemplo n.º 1
0
        public IHttpActionResult Put(int id, ContractDetail contract)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            ContractDetail contractInDB = _context.ContractDetails.FirstOrDefault(d => d.Id == id);

            if (contractInDB == null)
            {
                return(NotFound());
            }
            // log changes
            ChangesLogs log = new ChangesLogs();

            log.AddChangesLog(contractInDB, contract, new List <string>()
            {
                "EnDate", "StartDate", "Dedication", "DependencyId", "PositionsId", "PositionDescription", "Linkage", "AI"
            });
            // todo view rol and permisions to update or not
            contractInDB.StartDate           = contract.StartDate;
            contractInDB.EndDate             = contract.EndDate;
            contractInDB.Dedication          = contract.Dedication;
            contractInDB.BranchesId          = _context.Dependencies.FirstOrDefault(x => x.Id == contract.DependencyId).BranchesId;
            contractInDB.DependencyId        = contract.DependencyId;
            contractInDB.PositionsId         = contract.PositionsId;
            contractInDB.PositionDescription = contract.PositionDescription == null ? null : contract.PositionDescription.ToUpper();
            contractInDB.Linkage             = contract.Linkage;
            contractInDB.AI                  = contract.AI;
            contractInDB.NumGestion          = contract.NumGestion;
            contractInDB.Seguimiento         = contract.Seguimiento;
            contractInDB.Respaldo            = contract.Respaldo;
            contractInDB.Comunicado          = contract.Comunicado;
            contractInDB.UpdatedAt           = DateTime.Now;
            contractInDB.EndDateNombramiento = contract.EndDateNombramiento;

            var person = _context.Person.FirstOrDefault(x => x.CUNI == contractInDB.CUNI);

            var user = auth.getUser(Request);

            //se obtiene el nombre de la posición del contrato que se está registrando en el controlador
            string contractPosition = _context.Position.FirstOrDefault(x => x.Id == contract.PositionsId).NameAbr;

            // create user in SAP
            B1.AddOrUpdatePerson(user.Id, person, contractPosition);

            _context.SaveChanges();
            return(Ok(contractInDB));
        }
Exemplo n.º 2
0
        public IHttpActionResult Baja(int id, ContractDetail contract)
        {
            ContractDetail contractInDB = _context.ContractDetails.FirstOrDefault(d => d.Id == id);
            // contractInDB.EndDate=DateTime.Now;
            ChangesLogs log = new ChangesLogs();

            log.AddChangesLog(contractInDB, contract, new List <string>()
            {
                "EndDate", "Cause"
            });
            contractInDB.EndDate   = contract.EndDate;
            contractInDB.Cause     = contract.Cause;
            contractInDB.Active    = false;
            contractInDB.UpdatedAt = DateTime.Now;
            _context.SaveChanges();
            return(Ok(contractInDB));
        }
        public IHttpActionResult Put(int id, [FromBody] People person)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            People personInDB = _context.Person.FirstOrDefault(d => d.Id == id);

            if (personInDB == null)
            {
                return(NotFound());
            }

            person = validator.CleanName(person);
            // log changes
            ChangesLogs log = new ChangesLogs();

            log.AddChangesLog(personInDB, person, new List <string>()
            {
                "TypeDocument", "Document", "Ext", "Names", "FirstSurName", "SecondSurName", "BirthDate", "Gender",
                "Nationality", "UseMariedSurName", "UseSecondSurName", "MariedSurName", "PhoneNumber", "PersonalEmail", "OfficePhoneNumber", "OfficePhoneNumberExt",
                "HomeAddress", "UcbEmail", "AFP", "NUA", "Insurance", "InsuranceNumber"
            });

            //--------------------------REQUIRED COLS--------------------------
            personInDB.TypeDocument     = cleanText(person.TypeDocument);
            personInDB.Document         = person.Document;
            personInDB.Ext              = cleanText(person.Ext);
            personInDB.Names            = cleanText(person.Names);
            personInDB.FirstSurName     = cleanText(person.FirstSurName);
            personInDB.SecondSurName    = cleanText(person.SecondSurName);
            personInDB.BirthDate        = person.BirthDate;
            personInDB.Gender           = cleanText(person.Gender);
            personInDB.Nationality      = cleanText(person.Nationality);
            personInDB.UseMariedSurName = (int)person.UseMariedSurName;
            personInDB.UseSecondSurName = person.UseSecondSurName;
            //------------------------NON REQUIRED COLS--------------------------
            personInDB.MariedSurName        = cleanText(person.MariedSurName);
            personInDB.PhoneNumber          = person.PhoneNumber;
            personInDB.PersonalEmail        = person.PersonalEmail;
            personInDB.OfficePhoneNumber    = person.OfficePhoneNumber;
            personInDB.OfficePhoneNumberExt = person.OfficePhoneNumberExt;
            personInDB.HomeAddress          = person.HomeAddress;
            personInDB.UcbEmail             = person.UcbEmail;
            personInDB.AFP             = cleanText(person.AFP);
            personInDB.NUA             = person.NUA;
            personInDB.Insurance       = person.Insurance;
            personInDB.InsuranceNumber = person.InsuranceNumber;
            //register updated time
            personInDB.UpdatedAt = DateTime.Now;



            var ADauth           = new ADClass();
            var usr              = auth.getUser(Request);
            var rols             = ADauth.getUserRols(usr);
            var canUpdatePending = false;

            foreach (var rol in rols)
            {
                if (rol.Name == "GPS Admin" || rol.Name == "Admin")
                {
                    canUpdatePending = true;
                    break;
                }
            }

            if (canUpdatePending)
            {
                personInDB.Pending = person.Pending;
            }
            _context.SaveChanges();
            return(Ok(personInDB));
        }