//Register public async static Task <WebResult <LoginData <ShopDTO> > > Register(ShopDTO shopDto, Uri request) { using (ProjectEntities db = new ProjectEntities()) { if (db.Shops.FirstOrDefault(w => w.mailShop == shopDto.mailShop) != null)//אם יש כבר כזה מייל או כזו סיסמה { return new WebResult <LoginData <ShopDTO> > { Message = "משתמש כבר קיים במערכת", Status = false, Value = null } } ; List <CategoryDTO> sourceCats = shopDto.Categories; List <Category_to_shop> category_To_Shops = new List <Category_to_shop>(); foreach (var item in sourceCats) { db.Category_to_shop.Add(new Category_to_shop() { codeCategory = item.codeCategory, codeShop = shopDto.codeShop }); } db.Shops.Add(ShopCast.GetShop(shopDto)); try { if (db.SaveChanges() > 0)//בדיקה שהמידע נשמר { var accessToken = await GetTokenDataAsync(shopDto.mailShop, shopDto.passwordShop, request); if (!string.IsNullOrEmpty(accessToken)) { return(new WebResult <LoginData <ShopDTO> > { Status = true, Message = "התחברת בהצלחה", Value = new LoginData <ShopDTO> { TokenJson = accessToken, objectDTO = shopDto } }); } } } catch (Exception e) { var a = e.Data; } return(new WebResult <LoginData <ShopDTO> > { Status = false, Message = "ההרשמה נכשלה", Value = null }); } }
//Login public static async Task <WebResult <LoginData <ShopDTO> > > Login(string mail, string password, Uri requestUri) { using (ProjectEntities db = new ProjectEntities()) { var shop = db.Shops.Where(w => w.mailShop == mail).FirstOrDefault(); if (shop != null) { if (shop.passwordShop == password) { //אם המשתמש קיים במאגר המשך לקבלת טוקן, אחרת החזר שגיאה שהמתשמש לא קיים { ShopDTO shopDto = ShopCast.GetShopDTO(shop); List <int> codesCategories = db.Category_to_shop.Where(c => c.codeShop == shop.codeShop).Select(x => x.codeCategory).ToList(); //Category category; //shopDto.Categories = new List<CategoryDTO>(); //foreach (var item in codesCategories) //{ // category = db.Categories.Find(item); // if (category != null) // shopDto.Categories.Add(CategoryCast.GetCategoryDTO(category)); //} var accessToken = await GetTokenDataAsync(shopDto.mailShop, shopDto.passwordShop, requestUri); if (!string.IsNullOrEmpty(accessToken)) { return(new WebResult <LoginData <ShopDTO> > { Status = true, Message = "התחברת בהצלחה", Value = new LoginData <ShopDTO> { TokenJson = accessToken, objectDTO = shopDto } }); } } } else { return(new WebResult <LoginData <ShopDTO> > { Status = false, Message = " אין משתמש רשום בשם וסיסמא זו ", Value = null }); } } return(new WebResult <LoginData <ShopDTO> > { Status = false, Message = " אין משתמש רשום ", Value = null }); } }
public override Task ExecuteBindingAsync(ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken) { var user = HttpContext.Current.User as ClaimsPrincipal; var identity = user.Identity as ClaimsIdentity; var claim = identity.Claims.Where(c => c.Type == ClaimTypes.Name).Select(s => s.Value).SingleOrDefault(); var shop = db.Shops.Where(w => w.mailShop == claim).FirstOrDefault(); actionContext.ActionArguments[Descriptor.ParameterName] = shop == null?null: ShopCast.GetShopDTO(shop); return(Task.FromResult <object>(null)); }