示例#1
0
        public HttpResponseMessage ValidatePassword([FromBody] UserPasswordActivation passwordToken)
        {
            UserPasswordActivation invitation = null;

            try
            {
                if (passwordToken != null)
                {
                    _context = new CivilWorksEntities2();

                    invitation = _context.UserPasswordActivations.Where(p => p.IsExpired != true && p.PasswordActivattionKey == passwordToken.PasswordActivattionKey).FirstOrDefault <UserPasswordActivation>();
                }

                if (invitation != null)
                {
                    invitation.IsExpired = true;
                    // _context.Entry(invitation).State = System.Data.Entity.EntityState.Modified;
                    _context.SaveChanges();
                }
                else
                {
                    //return new BO.ErrorObject { ErrorMessage = "Invalid appkey or other parameters.", errorObject = "", ErrorLevel = ErrorLevel.Error };
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid password link"));
                }
                return(Request.CreateResponse(HttpStatusCode.OK, invitation));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
        public HttpResponseMessage GetQuantity(int id)
        {
            try
            {
                context = new CivilWorksEntities2();
                var quan = context.ProjectQuantities.Where(u => u.ID == id).FirstOrDefault();
                return(Request.CreateResponse(HttpStatusCode.OK, quan));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
            //    CivilWorksEntities2 context = new CivilWorksEntities2();
            //    List<ProjectQuantity> quan = new List<ProjectQuantity>();
            //    ProjectQuantity q = new ProjectQuantity();
            //    //List<BOModel.ProjectQuantity> quan = new List<BOModel.ProjectQuantity>();
            //    try
            //    {
            //        // quan = context.ProjectQuantities.Select(y => y.ID == quantity.ID).ToList();
            //        var a = context.ProjectQuantities.Where(y => y.ID == quantity.ID).ToList();

            //        //foreach(var item1 in a)
            //        //{
            //        // q.ID = item1.

            //        //}
            //        return Request.CreateResponse(HttpStatusCode.OK, a);
            //    }
        }
示例#3
0
        public HttpResponseMessage GetAllItems()
        {
            try
            {
                _context = new CivilWorksEntities2();

                // _context.Configuration.ProxyCreationEnabled = false;
                var users = _context.Items.ToList();
                //List<models> lst = new List<models>();
                //users.ForEach(A =>
                //    {
                //     lst.Add(new models { })
                //    }

                //    );
                //List<Bo.Item> lstItem = new List<Bo.Item>();

                //foreach (var item in users)
                //{
                //    Bo.Item Item = new Bo.Item();
                //    Item.ID = item.ID;
                //    Item.ItemName = item.ItemName;
                //    lstItem.Add(Item);
                //}
                return(Request.CreateResponse(HttpStatusCode.OK, users));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
示例#4
0
        public HttpResponseMessage SaveUser([FromBody] Models.User1 user)
        {
            try
            {
                CivilWorksEntities2 context = new CivilWorksEntities2();
                context.User1.Add(user);
                context.SaveChanges();
                User1 user_ = context.User1.Where(p => p.UserName == user.UserName).FirstOrDefault <User1>();

                #region Insert Invitation
                CivilWorksEntities2 context1 = new CivilWorksEntities2();
                userActivation.PasswordActivattionKey = Guid.NewGuid();
                userActivation.DateCreated            = user.CreatedDate;
                userActivation.UserID     = user_.ID;
                userActivation.IsExpired  = false;
                userActivation.ExpiryDate = System.DateTime.Now.AddDays(1);
                context1.UserPasswordActivations.Add(userActivation);
                context1.SaveChanges();
                #endregion

                #region mail notification
                try
                {
                    string VerificationLink = "<a href='" + Utility.GetConfigValue("VerificationLink") + "/" + userActivation.PasswordActivattionKey + "' target='_blank'>" + Utility.GetConfigValue("VerificationLink") + "/" + userActivation.PasswordActivattionKey + "</a>";

                    string MailMessageForCompany = "Dear " + user_.FirstName + ",<br><br>You have been registered in Our Portal. <br><br> Please confirm your account by clicking below link in order to use.<br><br><b>" + VerificationLink + "</b><br><br>Thanks";
                    //  string NotificationForCompany = "You have been registered in midas portal as a Medical Provider. ";
                    //  string SmsMessageForCompany = "Dear " + user.FirstName + ",<br><br>You have been registered in midas portal as a Medical provider. <br><br> Please confirm your account by clicking below link in order to use.<br><br><b>" + VerificationLink + "</b><br><br>Thanks";

                    // NotificationHelper nh = new NotificationHelper();
                    MessagingHelper mh = new MessagingHelper();

                    #region  company mail object
                    EmailMessage emCompany = new EmailMessage();
                    emCompany.ApplicationName = "Civil Works";
                    emCompany.ToEmail         = user_.UserName;
                    emCompany.EMailSubject    = "Civil Works Notification";
                    emCompany.EMailBody       = MailMessageForCompany;
                    #endregion

                    //  mh.SendEmailAndSms(user_.UserName, 1,emCompany);

                    mh.SendMail(user_.UserName, emCompany.EMailSubject, MailMessageForCompany);
                }
                catch (Exception ex)
                {
                }
                #endregion

                return(Request.CreateResponse(HttpStatusCode.OK, "Successfully Saved"));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
示例#5
0
 public HttpResponseMessage GetAllUsers()
 {
     try
     {
         _context = new CivilWorksEntities2();
         var users = _context.User1.ToList();
         return(Request.CreateResponse(HttpStatusCode.OK, users));
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
示例#6
0
 public HttpResponseMessage GetUser(string userName)
 {
     try
     {
         _context = new CivilWorksEntities2();
         var user = _context.User1.Where(u => u.UserName == userName).FirstOrDefault();
         return(Request.CreateResponse(HttpStatusCode.OK, user));
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
     }
 }
示例#7
0
 public HttpResponseMessage GetTeam(int id)
 {
     try
     {
         _context = new CivilWorksEntities2();
         var user = _context.ProjectTeams.Where(u => u.ID == id).FirstOrDefault();
         return(Request.CreateResponse(HttpStatusCode.OK, user));
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
     }
 }
示例#8
0
 public HttpResponseMessage GetAllIData()
 {
     try
     {
         _context = new CivilWorksEntities2();
         var users = _context.ProjectReports.ToList();
         return(Request.CreateResponse(HttpStatusCode.OK, users));
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
     }
 }
示例#9
0
        public HttpResponseMessage GeneratePasswordResetLink([FromBody] User1 passwordToken)
        {
            _context = new CivilWorksEntities2();
            UserPasswordActivation passwordReset = null;

            try
            {
                User1 data_ = _context.User1.Where(x => x.UserName == passwordToken.UserName).FirstOrDefault <User1>();
                if (data_ == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "No record found for this user"));
                    // return new BO.ErrorObject { ErrorMessage = "No record found for this user.", errorObject = "", ErrorLevel = ErrorLevel.Error };
                }
                #region Insert link
                CivilWorksEntities2 context1 = new CivilWorksEntities2();
                userActivation.PasswordActivattionKey = Guid.NewGuid();
                userActivation.DateCreated            = System.DateTime.Now;
                userActivation.UserID     = data_.ID;
                userActivation.IsExpired  = false;
                userActivation.ExpiryDate = System.DateTime.Now.AddDays(1);
                context1.UserPasswordActivations.Add(userActivation);
                context1.SaveChanges();
                #endregion


                string Message = "Dear " + data_.FirstName + ",<br><br>You are receiving this email because you (or someone pretending to be you) requested that your password be reset on the " + Utility.GetConfigValue("Website") + " site.  If you do not wish to reset your password, please ignore this message.<br><br>To reset your password, please click the following link, or copy and paste it into your web browser:<br><br>" + Utility.GetConfigValue("ForgotPasswordLink") + "/" + userActivation.PasswordActivattionKey + " <br><br>Your username, in case you've forgotten: " + data_.UserName + "<br><br>Thanks";
                #region  company mail object
                EmailMessage emCompany = new EmailMessage();
                emCompany.ApplicationName = "Civil Works";
                emCompany.ToEmail         = passwordToken.UserName;
                emCompany.EMailSubject    = "Civil Works Reset Password Link";
                emCompany.EMailBody       = Message;
                #endregion

                MessagingHelper mh = new MessagingHelper();
                mh.SendMail(passwordToken.UserName, emCompany.EMailSubject, Message);


                User1 userDb = _context.User1.Where(p => p.UserName == passwordToken.UserName && p.IsDeleted.Value == false).FirstOrDefault <User1>();
                return(Request.CreateResponse(HttpStatusCode.OK, userDb));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
示例#10
0
        public HttpResponseMessage Signin([FromBody] User1 user)
        {
            _context = new CivilWorksEntities2();

            string Pass = user.Password;
            //Invitation invitation = _context.Invitations.Include("Company")
            //                                          .Include("User.UserCompanies")
            //                                          .Where(p => p.UniqueID == invitationBO.UniqueID).FirstOrDefault<Invitation>();



            User1 data_ = _context.User1
                          .Where(x => x.UserName == user.UserName && x.IsDeleted.Value == false).FirstOrDefault <User1>();

            if (data_ == null)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "No record found for this user"));
                //  return new BO.ErrorObject { ErrorMessage = "No record found for this user.", errorObject = "", ErrorLevel = ErrorLevel.Error };
            }
            bool isPasswordCorrect = false;

            try
            {
                isPasswordCorrect = PasswordHash.ValidatePassword(user.Password, ((User1)data_).Password);

                if (!isPasswordCorrect)
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid credentials"));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, data_));
                }

                // return new BO.ErrorObject { ErrorMessage = "Invalid credentials.Please check details..", errorObject = "", ErrorLevel = ErrorLevel.Error };
            }
            catch
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid credentials"));
                //return new BO.ErrorObject { ErrorMessage = "Invalid credentials.Please check details..", errorObject = "", ErrorLevel = ErrorLevel.Error };
            }
        }
 public HttpResponseMessage GetAllProject()
 {
     try
     {
         _context = new CivilWorksEntities2();
         var users = (from x in _context.ProjectReports
                      join y in _context.Projects
                      on x.ProjectID equals y.ID
                      join z in _context.ProjectTeams
                      on x.ProjectID equals z.ProjectID
                      select new { x.ID, x.ProjectID, y.ProjectName, x.ReportNumber, x.ReportDate, z.InspectorName }
                      ).ToList();
         //var a = _context.ProjectReports.Where(y => y.ID ==).ToList();
         return(Request.CreateResponse(HttpStatusCode.OK, users));
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
示例#12
0
        public HttpResponseMessage ResetPassword([FromBody] Models.User1 user)
        {
            _context = new CivilWorksEntities2();
            User1 userDb = new User1();

            try
            {
                userDb = user.ID > 0 ? _context.User1.Where(p => p.ID == user.ID).FirstOrDefault <User1>() : null;

                if (user != null)
                {
                    userDb.Password = PasswordHash.HashPassword(user.Password);
                    _context.SaveChanges();
                }

                userDb = _context.User1.Where(p => p.ID == user.ID && p.IsDeleted.Value == false).FirstOrDefault <User1>();
                return(Request.CreateResponse(HttpStatusCode.OK, userDb));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
        public HttpResponseMessage SaveProjectReport([FromBody] Models.ProjectReport report)
        {
            try
            {
                CivilWorksEntities2 context = new CivilWorksEntities2();

                context.ProjectReports.Add(report);
                context.SaveChanges();

                return(Request.CreateResponse(HttpStatusCode.OK, "Successfully Saved"));

                //BO.ProjectReport rep = new BO.ProjectReport();
                //List<BO.ProjectLabourEquipment> lstProjectLabourEquipment = new List<BOModel.ProjectLabourEquipment>();
                //BO.ProjectLabourEquipment BOProjectLabourEquipment = new BOModel.ProjectLabourEquipment();



                //foreach(Models.ProjectLabourEquipment item in report.ProjectLabourEquipments)
                //{
                //    BOProjectLabourEquipment.ID = item.ID;
                //    BOProjectLabourEquipment.Labour_Name = item.Labour_Name;
                //    BOProjectLabourEquipment.ContractorName = item.ContractorName;
                //    BOProjectLabourEquipment.EquipmentHours = item.EquipmentHours;
                //    BOProjectLabourEquipment.WorkDescription = item.WorkDescription;
                //    BOProjectLabourEquipment.LabourHours = item.LabourHours;
                //    BOProjectLabourEquipment.EquipmentName = item.EquipmentName;

                //    lstProjectLabourEquipment.Add(BOProjectLabourEquipment);
                //}

                //rep.ProjectLabourIquipments = lstProjectLabourEquipment;

                //List<BO.ProjectQuantity> lstProjectquantity = new List<BOModel.ProjectQuantity>();
                //BO.ProjectQuantity BOProjectQuantity = new BOModel.ProjectQuantity();

                //foreach(Models.ProjectQuantity item in report.ProjectQuantities)
                //{
                //    BOProjectQuantity.ID = item.ID;
                //    BOProjectQuantity.ItemID = item.ItemID;
                //    BOProjectQuantity.Location = item.Location;
                //    BOProjectQuantity.Status = item.Status;
                //    BOProjectQuantity.Quantity = item.Quantity;
                //    BOProjectQuantity.WorkDescription = item.WorkDescription;
                //    BOProjectQuantity.ImageNote = item.ImageNote;
                //    BOProjectQuantity.ImageFilePath = item.ImageFilePath;

                //    lstProjectquantity.Add(BOProjectQuantity);
                //}

                //rep.ProjectQuantity = lstProjectquantity;


                //Models.ProjectReport rep = new Models.ProjectReport();
                //List<ProjectLabourEquipment> equ = new List<ProjectLabourEquipment>();
                //List<ProjectQuantity> equ1 = new List<ProjectQuantity>();
                //rep.ProjectLabourEquipments = report.ProjectLabourEquipments;
                //rep.ProjectQuantities = report.ProjectQuantities;
                //rep.ProjectID = report.ProjectID;
                //rep.CheckedBy = report.CheckedBy;
                //rep.ReportNumber = report.ReportNumber;
                //rep.ReportDate = report.ReportDate;
                //rep.MorningWeather = report.MorningWeather;
                //rep.MorningTemprature = report.MorningTemprature;
                //rep.InspectionDate = report.InspectionDate;
                //rep.InspectedBy = report.InspectedBy;
                //rep.EveningWeather = report.EveningWeather;
                //rep.EveningTemperature = report.EveningTemperature;
                //rep.CreatedByUserID = report.CreatedByUserID;
                //rep.StartTime = report.StartTime;
                //rep.EndTime = report.EndTime;
                //rep.DateCreated = report.DateCreated;
                //context.ProjectReports.Add(rep);

                //return Request.CreateResponse<T>(HttpStatusCode.OK, rep);

                // return Request.CreateResponse<BO.ProjectReport>(HttpStatusCode.OK, rep);
            }

            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
        public HttpResponseMessage UpdateProjectReport([FromBody] Models.ProjectReport report1)
        {
            try
            {
                CivilWorksEntities2 context = new CivilWorksEntities2();

                ProjectReport ProjRpt = new ProjectReport();
                ProjRpt = context.ProjectReports.Where(p => p.ID == report1.ID).FirstOrDefault();
                if (ProjRpt != null)
                {
                    ProjRpt.ProjectID          = report1.ProjectID;
                    ProjRpt.ReportNumber       = report1.ReportNumber;
                    ProjRpt.ReportDate         = report1.ReportDate;
                    ProjRpt.StartTime          = report1.StartTime;
                    ProjRpt.EndTime            = report1.EndTime;
                    ProjRpt.MorningWeather     = report1.MorningWeather;
                    ProjRpt.EveningWeather     = report1.EveningWeather;
                    ProjRpt.MorningTemprature  = report1.MorningTemprature;
                    ProjRpt.EveningTemperature = report1.EveningTemperature;
                    ProjRpt.InspectedBy        = report1.InspectedBy;
                    ProjRpt.InspectionDate     = report1.InspectionDate;
                    ProjRpt.CheckedBy          = report1.CheckedBy;
                    ProjRpt.CheckedDate        = report1.CheckedDate;

                    var ProjQuantityIDs = report1.ProjectQuantities.Select(p => p.ID).ToList();

                    var ProjQuantity_Remove = context.ProjectQuantities
                                              .Where(p => p.ReportID == report1.ID && ProjQuantityIDs.Contains(p.ID) == false)
                                              .ToList();

                    ProjQuantity_Remove.ForEach(p => context.ProjectQuantities.Remove(p));

                    var ProjQuantity_Update = context.ProjectQuantities
                                              .Where(p => p.ReportID == report1.ID && ProjQuantityIDs.Contains(p.ID) == true)
                                              .ToList();

                    foreach (var eachProjQuantity in ProjQuantity_Update)
                    {
                        var ProjQuantity = report1.ProjectQuantities.Where(p => p.ID == eachProjQuantity.ID).SingleOrDefault();
                        eachProjQuantity.ReportID        = ProjQuantity.ReportID;
                        eachProjQuantity.ItemID          = ProjQuantity.ItemID;
                        eachProjQuantity.Location        = ProjQuantity.Location;
                        eachProjQuantity.Status          = ProjQuantity.Status;
                        eachProjQuantity.Quantity        = ProjQuantity.Quantity;
                        eachProjQuantity.WorkDescription = ProjQuantity.WorkDescription;
                        eachProjQuantity.ImageNote       = ProjQuantity.ImageNote;
                        eachProjQuantity.ImageFilePath   = ProjQuantity.ImageFilePath;
                    }


                    var ProjQuantityIDs_Add = context.ProjectQuantities.Where(p => p.ReportID == report1.ID).Select(p => p.ID).ToList();

                    var ProjQuantity_Add = report1.ProjectQuantities
                                           .Where(p => p.ReportID == report1.ID && ProjQuantityIDs_Add.Contains(p.ID) == false)
                                           .ToList();

                    ProjQuantity_Add.ForEach(p => context.ProjectQuantities.Add(p));



                    var ProjLabourIDs = report1.ProjectLabourEquipments.Select(p => p.ID).ToList();

                    var ProjLabour_Remove = context.ProjectLabourEquipments
                                            .Where(p => p.ReportID == report1.ID && ProjLabourIDs.Contains(p.ID) == false)
                                            .ToList();

                    ProjLabour_Remove.ForEach(p => context.ProjectLabourEquipments.Remove(p));

                    var ProjLabour_Update = context.ProjectLabourEquipments
                                            .Where(p => p.ReportID == report1.ID && ProjLabourIDs.Contains(p.ID) == true)
                                            .ToList();

                    foreach (var eachProjLabour in ProjLabour_Update)
                    {
                        var ProjLabour = report1.ProjectLabourEquipments.Where(p => p.ID == eachProjLabour.ID).SingleOrDefault();
                        eachProjLabour.ReportID        = ProjLabour.ReportID;
                        eachProjLabour.ContractorName  = ProjLabour.ContractorName;
                        eachProjLabour.Labour_Name     = ProjLabour.Labour_Name;
                        eachProjLabour.EquipmentName   = ProjLabour.EquipmentName;
                        eachProjLabour.WorkDescription = ProjLabour.WorkDescription;
                        eachProjLabour.WorkDescription = ProjLabour.WorkDescription;
                        eachProjLabour.LabourHours     = ProjLabour.LabourHours;
                        eachProjLabour.EquipmentHours  = ProjLabour.EquipmentHours;
                    }


                    var ProjLabourIDs_Add = context.ProjectLabourEquipments.Where(p => p.ReportID == report1.ID).Select(p => p.ID).ToList();

                    var ProjLabour_Add = report1.ProjectLabourEquipments
                                         .Where(p => p.ReportID == report1.ID && ProjLabourIDs_Add.Contains(p.ID) == false)
                                         .ToList();

                    ProjLabour_Add.ForEach(p => context.ProjectLabourEquipments.Add(p));
                    context.SaveChanges();

                    var ProjReport = context.ProjectReports.Include("ProjectQuantities")
                                     .Include("ProjectLabourEquipments")
                                     .Where(p => p.ID == report1.ID)
                                     .ToList();

                    return(Request.CreateResponse(HttpStatusCode.OK, ProjReport));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, report1));


            /*
             * List<ProjectQuantity> quan = new List<ProjectQuantity>();
             * List<ProjectLabourEquipment> lab = new List<ProjectLabourEquipment>();
             *
             * foreach (var item in report1.ProjectQuantities)
             * {
             *
             *  if(item.ID>0)
             *  {
             *      var a = context.ProjectQuantities.Where(x => x.ID == item.ReportID).FirstOrDefault();
             *      if(a != null)
             *      {
             *          context.ProjectQuantities.Remove(a);
             *
             *      }
             *
             *      context.ProjectQuantities.Add(item);
             *      context.SaveChanges();
             *  }
             *  else
             *  {
             *      context.ProjectQuantities.Add(item);
             *      context.SaveChanges();
             *  }
             *
             *
             * }
             *
             * foreach (var item in report1.ProjectLabourEquipments)
             * {
             *  if (item.ID > 0)
             *  {
             *      var a = context.ProjectLabourEquipments.Where(x => x.ID == item.ID).FirstOrDefault();
             *      if (a != null)
             *      {
             *          context.ProjectLabourEquipments.Remove(a);
             *      }
             *      context.ProjectLabourEquipments.Add(item);
             *      context.SaveChanges();
             *  }
             *  else
             *  {
             *      context.ProjectLabourEquipments.Add(item);
             *      context.SaveChanges();
             *  }
             * }
             *
             * return Request.CreateResponse(HttpStatusCode.OK, report1);
             * }
             *
             * catch (Exception ex)
             * {
             * return Request.CreateErrorResponse(HttpStatusCode.BadRequest,ex.Message);
             * }
             */
        }